EL表达式语法结构
${expression}
EL存取变量
EL存取变量数据的方法很简单,例如:
${username}
,它的意思是取出某一范围中名称为username的变量。如果没有指定哪一个范围的username,那么它会依序从Page、Request、Seesion、Application范围进行查找。假设途中找到username,则直接回传,不再继续查找下去,如果所有范围内均没有查到,则回传null。
属性范围在EL中的名称:
| 属性名称 | 属性范围在EL中的名称 |
| ———– | —————- |
| Page | PageScope |
| Request | RequestScope |
| Session | SessionScope |
| Application | ApplicationScope |
EL表达式用${}表示,可用在所有的HEML和JSP标签中,作用是代替JSP页面中复杂的JAVA代码
EL表达式可操作常亮、变量和隐式对象,最常用的隐式对象有
${param}
和${paramValues}
,${param}
表示返回请求参数中单个字符串的值,${paramValues}
表示返回请求参数的一组值pageScope表示页面范围的变量,requestScope表示请求对象的变量,sessionScope表示会话范围内的变量,applicationScope表示应用范围的变量
<%@ page isELIgnored="true"%>
表示是否禁用EL语言,TRUE表示禁止,FALSE表示不禁止,JSP2.0中默认启用EL语言与范围有关的EL隐含对象包含以下四个:pageScope、requestScope、sessionScope和applicationScope,它们基本上就和JSP的pageContext、request、session以及application一样,在EL中,这四个隐含对象只能用来取得范围属性值,即getAttribute(String name),却不能取得其他相关信息,例如:我们要取得session中存储的一个属性名为username的值,可以使用
session.getAttribute("username")
方法取得,在EL中则可以通过${sessionScope.username}
取得。与输入有关的隐含对象有两个:param和paramValues,它们是EL中比较特别的隐含对象,例如我们要取得用户的请求参数时,可以利用下面的办法:
12request.getParameter(String name);request.getParameterValues(String name);在EL中可以使用param和paramValues两者来取得数据:
12${param.name}${paramValues.name}